package com.vlong.town.entity.user;

import java.io.Serializable;

/**
 * 用户实体类
 * @author Assassin
 */
public class User implements Serializable {

    /**
     * default SerialVersionUID
     */
    private static final long serialVersionUID = 1L;

    // Fields

    private Long userId;// 用户标识[主键值]
    private Integer status;// 用户状态[1-可用 | 2-不可用]
    private Integer type;// 用户类型[1-农户 | 2-专家 | 3-管理员]
    private Long orgId;// 组织机构[预留字段，默认1]
    private String categoryId;// 专家分类标识
    private String userName;// 用户名[可以用作登录账号使用]]
    private String realName;// 真实姓名
    private String telphone;// 手机号码[可以用作登录账号使用]
    private String email;// 电子邮箱
    private String password;// 登录密码
    private String loginToken;// 登录Token
    private Long createTime;// 创建时间
    private Long updateTime;// 更新时间[初始化=创建时间]
    private String registrationId;// 推送Id

    // Empty Constructor
    public User() {
        super();
    }

    // Full Constructor
    public User(Long userId, Integer status, Integer type, Long orgId, String categoryId, String userName, String realName, String telphone, String email, String password, String loginToken, Long createTime, Long updateTime, String registrationId) {
        this.userId =  userId;
        this.status =  status;
        this.type =  type;
        this.orgId =  orgId;
        this.categoryId =  categoryId;
        this.userName =  userName;
        this.realName =  realName;
        this.telphone =  telphone;
        this.email =  email;
        this.password =  password;
        this.loginToken =  loginToken;
        this.createTime =  createTime;
        this.updateTime =  updateTime;
        this.registrationId = registrationId;
    }

    // Property accessors

    public Long getUserId () {
        return this.userId;
    }

    public void setUserId (Long userId) {
        this.userId =  userId;
    }

    public Integer getStatus () {
        return this.status;
    }

    public void setStatus (Integer status) {
        this.status =  status;
    }

    public Integer getType () {
        return this.type;
    }

    public void setType (Integer type) {
        this.type =  type;
    }

    public Long getOrgId () {
        return this.orgId;
    }

    public void setOrgId (Long orgId) {
        this.orgId =  orgId;
    }

    public String getCategoryId () {
        return this.categoryId;
    }

    public void setCategoryId (String categoryId) {
        this.categoryId =  categoryId;
    }

    public String getUserName () {
        return this.userName;
    }

    public void setUserName (String userName) {
        this.userName =  userName;
    }

    public String getRealName () {
        return this.realName;
    }

    public void setRealName (String realName) {
        this.realName =  realName;
    }

    public String getTelphone () {
        return this.telphone;
    }

    public void setTelphone (String telphone) {
        this.telphone =  telphone;
    }

    public String getEmail () {
        return this.email;
    }

    public void setEmail (String email) {
        this.email =  email;
    }

    public String getPassword () {
        return this.password;
    }

    public void setPassword (String password) {
        this.password =  password;
    }

    public String getLoginToken () {
        return this.loginToken;
    }

    public void setLoginToken (String loginToken) {
        this.loginToken =  loginToken;
    }

    public Long getCreateTime () {
        return this.createTime;
    }

    public void setCreateTime (Long createTime) {
        this.createTime =  createTime;
    }

    public Long getUpdateTime () {
        return this.updateTime;
    }

    public void setUpdateTime (Long updateTime) {
        this.updateTime =  updateTime;
    }

    public String getRegistrationId() {
        return registrationId;
    }

    public void setRegistrationId(String registrationId) {
        this.registrationId = registrationId;
    }

    @Override
    public String toString() {
        return "User{" +
                "userId=" + userId +
                ", status=" + status +
                ", type=" + type +
                ", orgId=" + orgId +
                ", categoryId='" + categoryId + '\'' +
                ", userName='" + userName + '\'' +
                ", realName='" + realName + '\'' +
                ", telphone='" + telphone + '\'' +
                ", email='" + email + '\'' +
                ", password='" + password + '\'' +
                ", loginToken='" + loginToken + '\'' +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", registrationId='" + registrationId + '\'' +
                '}';
    }
}